#!/bin/bash
# there are two different ways this script can work.
# for the first way, uncomment the two lines after the if and place two '.' in front of the /$1 
#       this creates a new directory in the directory where the compressed file is and dumps the content in it
# for the second way, comment the two lines under the if and place just one '.' in front of the /$1
#       this just dumps the content of the compressed file in the same directory of the compressed file 
if [ -f "$1" ] ; then
        NAME=${1%.*}
        mkdir "$NAME" && cd "$NAME"
        case "$1" in          
          *.tar.bz2) tar xvjf ../"$1" ;;
          *.tar.gz) tar xvzf ../"$1" ;;
          *.tar.xz) tar xvJf ../"$1" ;;
          *.lzma) unlzma ../"$1" ;;
          *.bz2) bunzip2 ../"$1" ;;
          *.rar) unrar x -ad ../"$1" ;;
          *.gz) gunzip ../"$1" ;;
          *.tar) tar xvf ../"$1" ;;
          *.tbz2) tar xvjf ../"$1" ;;
          *.tgz) tar xvzf ../"$1" ;;
          *.zip) unzip ../"$1" ;;
          *.Z) uncompress ../"$1" ;;
          *.7z) 7z x ../"$1" ;;
          *.xz) unxz ../"$1" ;;
          *.exe) cabextract ../"$1" ;;
          *) echo "extract: '$1' - unknown archive method" ;;
        esac
else
echo "$1 - file does not exist"
fi
